パソコン活用研究ラピュタへの道(アセンブラ、DOS、Windows、旧型PCの活用研究)

はじめに(アセンブラの入手他)

1 ご挨拶&おじさんのアセンブラ環境

なんで、アセンブラなのか?って。そこにアセンブラがあるから。
・・・冗談はさて置き、おじさんにとって今のところ特別には、アセンブラでプログラムを組む必要はまったく
ありません。おじさんは職業プログラマではないので、将来的にもアセンブラをやる必然性はほとんど無い
と思います。でも、そこには他の高級言語では味わえない苦しみと喜びがあります。

困苦と言えば、まずアセンブラでコーディングするには、コンピューターの内部構造や、OSについてある程度
知らないとできないことでしょう。OSの仕組みやサービスルーチン、BIOSやI/Oポートなんかの資料を
アセンブラのコードを解読しながら勉強するのは面倒なことです(それが無上に楽しいという人もいますが)。
それから、コーディング自体の面倒くささがあります。BASICなら1命令ですむことを、数十のコードをかかね
ばなりません。そして、バグは即暴走です。あるいはパソコンになんらかのダメージを与える可能性もあります。
おじさんも8Bit CPUの時代には、ディスクのクラッシュなんかは結構やりました。(これは泣けます)。

しかし(強調)、アセンブラで組んだプログラムがちゃんと動いた時の感動は、他の言語では味わえないもの
です。上述のような困苦を乗り越えてアセンブラのプログラムがちゃんと動いた日にゃあ、そりゃあもう・・・・
きっと日がな一日、そのしょうもないプログラム(ほんとつまんないプログラムでも)を何度も何度も実行させて
は、にやにやしながら、それだけで1日を終えることでしょう。(あまりアセンブラ中毒にならないように!)
(いや、もちろん他の言語ではできない周辺機器の細かな制御とか、スピードの追求とかということに
なれば、アセンブラを使うということになるでしょうが。)
というわけで、ただ単にアセンブラで苦労しながらプログラムを組んでみたいという不純動機から(マゾか?あ)、
ちょっおとアセンブラに手をだしてみました。

というわけで、これは、とりあえずおじさんのアセンブラ格闘日記のようなものとして、ぼちぼちやっていきたいと
思います。何分、おじさんも1から勉強しながらですし、手元にパソコンのハード、OS関連の資料があまり無い
ので、不確かな記述になることも多いと思います。変なところがあれば是非ご指摘下さい。

とりあえず、MS−DOS3.0についてたMASMとLINKを使って、16Bit用プログラムを組む
(DOS窓よう)ということが当初のメインになると思います。まずは8086からやりたいと思います。
皆様には大変申し訳ございませんが、普通こんなに古いMASMを持ってる人は、そうはいないと思います。
しかし、他にてごろなアセンブラが無い物で、どうかこの点はご容赦願います。(おじさんも、机の隅のごみため
から引っ張りだしたFDからたまたま発見しました。よく残ってたもんです。)
MS−DOS3.0以降MASMはDOSとは別売となってますし、もちWINDOWSにはついてませんし、
アセンブラをどこから入手するかが問題ですが・・・この点は、分かり次第フォローしていきたいと思います。

2 アセンブラの入手
マイクロソフトのMASM互換のアセンブラ LASMの試用版 が多摩ソフト(有)http://www.tamasoft.co.jp/
から入手できます。ただし、試用版は16bit用です(アセンブラとリンカー)。また、100行以内のアセンブル
までという制限付きです。

MASMについては古いバージョンのものが、フリーでダウンロードできるようです。ここらへんの事情は
「プログラマの隠れ里」(
おじさんのリンク集にリンクあります)に詳しくありますので参照して下さい。
MASM32というサイトから32Bit用のMASM(もちろん16Bit用にも使える)と32bit用リンカがダウンロード
できます。これも「プログラマの隠れ里」に紹介されています。
他にも、フリーのアセンブラはあると思いますが、おじさんはいまの所チェックしてません。おじさんのリンク集
にフリーコンパイラ関係のリンク集のページの紹介がありますので、そこらへんから探してみてください。
(不親切ですんません)

3 DEBUG

とりあえず、機械語をちょっとだけさわってみたいというのなら、まあ、DEBUGからでもプログラム作成
は不可能ではありません。DEBUGならWINDOWSにありますし。DEBUGからのプログラム作成についても
いずれ軽く触れてみたいと思います。

 

TopPage